package com.dycx.user.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dycx.common.RestResponse;
import com.dycx.payment.entity.PaymentOrderDO;
import com.dycx.user.dto.UserDTO;
import com.dycx.user.entity.UserDO;
import com.dycx.user.vo.UserVO;
import org.apache.poi.ss.formula.functions.T;

import java.util.Map;


public interface UserService extends IService<UserDO> {

    /**
     * 删除
     */
    Boolean delete(int uid);

    /**
     * 重置密码
     */
    String restPassword(int uid);


    /**
     * 添加
     */
    String insert(UserDTO userDto);

    /**
     * 更新
     */
    Boolean update(UserDTO userDto);

    /**
     * 更新状态
     */
    Boolean updateStatus(UserDTO userDto);

    /**
     * 根据主键 id 查询
     */
    UserVO load(Integer uid);

    /**
     * 分页查询
     */
    Page<UserVO> getPage(UserDTO userDto);

    /**
     * 根据登录名查询
     */
    UserVO getInfoByUsername(String username);

    /**
     * 用户修改密码
     *
     * @param dto
     * @return
     */
    Boolean updatePassword(UserDTO dto);

    Boolean updateMobile(UserDTO userDTO);

    RestResponse<T> payNotify(PaymentOrderDO paymentOrderDO);

    Map<String, Integer> statisticsTeamData(Integer uid);
}
